package cn.iocoder.yudao.module.member.controller.admin.praxisProject.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@ApiModel("管理后台 - 实践项目 PraxisProjectRespVO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PraxisProjectRespVO extends PraxisProjectBaseVO {

    @ApiModelProperty(value = "编号", required = true)
    private Long id;

    @ApiModelProperty(value = "创建时间" )
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "审核时间" )
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date examineTime;

    @ApiModelProperty(value = "提交时间" )
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date releaseTime;

    @ApiModelProperty(value = "是否显示;0:隐藏,1:显示")
    private Integer showFlag;

    @ApiModelProperty(value = "截止时间" )
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date closingDate;

    @ApiModelProperty(value = "开始时间" ,hidden = true)
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @ApiModelProperty(value = "结束时间" ,hidden = true)
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @ApiModelProperty(value = "企业名称" )
    private String companyName;
    @ApiModelProperty(value = "名称" )
    private String nickname;
    @ApiModelProperty(value = "手机号")
    private String mobile;
    @ApiModelProperty(value = "创建者" )
    private String creator;
    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "部门")
    private String dept;

    @ApiModelProperty(value = "状态;0:未发布;1:发布;2:下架" )
    private Integer status;

    @ApiModelProperty(value = "是否报名;1:已报名;其他为未报名" )
    private Integer entryFlag;

    @ApiModelProperty(value = "是否审核;0:驳回;1:通过;")
    private String examineStatus;

    @ApiModelProperty(value = "职位")
    private String job;

    @ApiModelProperty(value = "项目名称" ,hidden = true)
    private String projectTypeName;

    @ApiModelProperty(value = "比赛材料集合")
    private List<PraxisAnnexVO> annexVOList;

    @ApiModelProperty(value = "项目赛程集合")
    private List<PraxisProjectScheduleVO> scheduleVOList;
}
